package shopping;

import shopping.enetity.User;

import java.io.*;

public class TestBufferedStream {
    public static void main(String[] args) throws IOException {

        //创建一个用户
        User user = new User("u00001","张三","123456","管理员",'男',"太原");

        //创建一个文件
        File f = new File("E:\\java_new\\java_code\\J2024_12_10\\src\\User.txt");

        //将用户信息写入文件

        //先创建一根字符输出流管道 -- 这是一根细的管道
        FileWriter fw = new FileWriter(f,true);

        //再创建一根字符输出管道 -- 这是一根粗的管道
        BufferedWriter bw = new BufferedWriter(fw);//注意 这里粗管道接的是细的管道

        //打开水龙头，调用write方法
        bw.write(user.toString());

        //关闭管道 流是一种资源

        //输出流关闭管道的时候
        //应该先关闭粗管道 再关闭细管道
        if (bw != null) {
            bw.close();
        }
        if (fw != null) {
            fw.close();
        }

        //将用户信息读出

        //创建一根字符输入管道 - 这是一根细的管道
        FileReader fr = new FileReader(f);

        //创建一根字符输入管道 - 这是一根粗的管道
        BufferedReader br = new BufferedReader(fr);//注意 ： 粗的管道接入的是细管道

        //打开水龙头
        //相比于CharStream 增加了按行读写的能力
        String str = null;
        while ((str = br.readLine()) != null){
            System.out.println(str);
        }

        //关闭管道
        //关闭的时候要先关闭细的管道
        if (fr != null){
            fr.close();
        }
        if (br != null) {
            br.close();
        }
    }
}
